Imports System.Xml
Imports System.Data.SqlClient
Public Class dFactura
    Public Function Existe(ByVal Numero As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If Numero <> "" Then
            Parametros.Add(New SqlParameter("@pENumero", Numero))
        End If
        Return (dConexion.Consultar("STORE_TblFacturaBUSCARFILTRADO", Parametros).Tables(0).Rows(0).ItemArray(0) = 1)

    End Function
    Public Function Insertar(ByVal Numero As String, ByVal Subtotal As String, ByVal Total As String, ByVal IVA As String, ByVal CodigoCliente As String, ByVal CodigoCategoria As String, ByVal IdTalonario As String) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If Numero <> "" Then
            Parametros.Add(New SqlParameter("@pENumero", Numero))
        End If
        If Subtotal <> "" Then
            Parametros.Add(New SqlParameter("@pESubtotal", CDbl(Subtotal)))
        End If
        If Total <> "" Then
            Parametros.Add(New SqlParameter("@pETotal", CDbl(Total)))
        End If
        If IVA <> "" Then
            Parametros.Add(New SqlParameter("@pEIVA", CDbl(IVA)))
        End If
        If CodigoCliente <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCliente", CodigoCliente))
        End If
        If CodigoCategoria <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCategoria", CodigoCategoria))
        End If
        If IdTalonario <> "" Then
            Parametros.Add(New SqlParameter("@pEIdTalonario", IdTalonario))
        End If
        Return dConexion.Consultar("STORE_TblFacturaALTA", Parametros)
    End Function
  Public Function Eliminar(ByVal idFactura as String) as BOOLEAN
     Dim Parametros As ArrayList = New ArrayList
        If idFactura <> "" Then
            Parametros.Add(New SqlParameter("@pEidFactura", idFactura))
            'Parametros.Add(New SqlParameter("@pEEstado", "ANULADA"))
        End If
        Return dConexion.ABM("STORE_TblFacturaELIMINAR", Parametros)
  End Function
    Public Function Modificar(ByVal idFactura As String, ByVal Numero As String, ByVal Fecha As String, ByVal Estados As String, ByVal Subtotal As String, ByVal Total As String, ByVal IVA As String, ByVal CodigoCliente As String, ByVal CodigoCategoria As String, ByVal IdTalonario As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If idFactura <> "" Then
            Parametros.Add(New SqlParameter("@pEidFactura", idFactura))
        End If
        If Numero <> "" Then
            Parametros.Add(New SqlParameter("@pENumero", Numero))
        End If
        If Fecha <> "" Then
            Parametros.Add(New SqlParameter("@pEFecha", Fecha))
        End If
        If Estados <> "" Then
            Parametros.Add(New SqlParameter("@pEEstados", Estados))
        End If
        If Subtotal <> "" Then
            Parametros.Add(New SqlParameter("@pESubtotal", Subtotal))
        End If
        If Total <> "" Then
            Parametros.Add(New SqlParameter("@pETotal", Total))
        End If
        If IVA <> "" Then
            Parametros.Add(New SqlParameter("@pEIVA", IVA))
        End If
        If CodigoCliente <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCliente", CodigoCliente))
        End If
        If CodigoCategoria <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCategoria", CodigoCategoria))
        End If
        If IdTalonario <> "" Then
            Parametros.Add(New SqlParameter("@pEIdTalonario", IdTalonario))
        End If
        Return dConexion.ABM("STORE_TblFacturaMODIFICAR", Parametros)
    End Function
    Public Function BuscarFiltrado(ByVal idFactura As String, ByVal Numero As String, ByVal Fecha As String, ByVal Estados As String, ByVal Subtotal As String, ByVal Total As String, ByVal IVA As String, ByVal CodigoCliente As String, ByVal CodigoCategoria As String, ByVal IdTalonario As String) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If idFactura <> "" Then
            Parametros.Add(New SqlParameter("@pEidFactura", idFactura))
        End If
        If Numero <> "" Then
            Parametros.Add(New SqlParameter("@pENumero", Numero))
        End If
        If Fecha <> "" Then
            Parametros.Add(New SqlParameter("@pEFecha", Fecha))
        End If
        If Estados <> "" Then
            Parametros.Add(New SqlParameter("@pEEstados", Estados))
        End If
        If Subtotal <> "" Then
            Parametros.Add(New SqlParameter("@pESubtotal", Subtotal))
        End If
        If Total <> "" Then
            Parametros.Add(New SqlParameter("@pETotal", Total))
        End If
        If IVA <> "" Then
            Parametros.Add(New SqlParameter("@pEIVA", IVA))
        End If
        If CodigoCliente <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCliente", CodigoCliente))
        End If
        If CodigoCategoria <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoCategoria", CodigoCategoria))
        End If
        If IdTalonario <> "" Then
            Parametros.Add(New SqlParameter("@pEIdTalonario", IdTalonario))
        End If
        Return dConexion.Consultar("STORE_TblFacturaBUSCARFILTRADO", Parametros)
    End Function
    Public Function ObtenerNumero(ByVal CodigoCategoria As String) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pEEstados", "EMITIDA"))
        Parametros.Add(New SqlParameter("@pECodigoCategoria", CodigoCategoria))
        Return dConexion.Consultar("STORE_TblFacturaBuscarUltimoNumero", Parametros)
    End Function
End Class
